module core.stdc..string; extern(C) extern @nogc nothrow pure { version(WebAssembly) version = CustomDefinitions; version(WebAssembly) version = CustomRuntime; version(PSVita) version = CustomRuntime; version(CustomRuntimeTest) version = CustomRuntime; version(CustomRuntime) { public import object: memcpy, memset, memcmp; } else { void* memcpy(void* dest, const(void*) src, size_t n); void* memset(void* str, int c, size_t n); int memcmp(const(void*) str1, const(void*) str2, size_t n) pure; } version(CustomDefinitions) { size_t strlen(const(char*) str) pure { if(str == null) return 0; size_t l = 0; while(str[l] != '\0') l++; return l; } const(char)* strerror(int errnum){return errnum == 0 ? "Success" : "Error";} } else { const(char)* strerror(int errnum); size_t strlen(const(char*) str) pure; } int strncmp (const(char)* str1, const(char)* str2, size_t num ); int strcmp (const char* str1, const char* str2); char *strstr(const char *haystack, const char *needle); char* strcpy(char* destination, const char* source); }